home *** CD-ROM | disk | FTP | other *** search
/ Practical Algorithms for Image Analysis / Practical Algorithms for Image Analysis.iso / TARFILE.GZ / tarfile / ch_4.3 / xah / xah.h < prev    next >
C/C++ Source or Header  |  1999-09-11  |  3KB  |  61 lines

  1. /*
  2.  * SBH.H
  3.  *
  4.  * header file for SBH.C
  5.  *
  6.  */
  7. #include "ip.h"
  8. #include "hist.h"
  9.  
  10. struct bubble {
  11.   Sp ctr;                       /* center position */
  12.   unsigned int area;            /* area (no pixels) */
  13. };
  14.  
  15.  
  16.  
  17. /* function prototypes */
  18. /* xah.c */
  19. extern void main (int argc, char **argv);
  20. extern void fail_alloc (char *prompt, int status);
  21. extern void exitmess (char *prompt, int status);
  22. extern void prompt_file_name (char *buf);
  23. extern void extract_area (int nd, unsigned int *area, struct bubble *cbub);
  24. #if defined(LINUX)
  25. extern int compare (int *a1, int *a2);
  26. extern int bcomp (struct bubble *b1, struct bubble *b2);
  27. #else
  28. extern int compare (const void *a1, const void *a2);
  29. extern int bcomp (const void *b1, const void *b2);
  30. #endif
  31. /* rfill.c */
  32. extern unsigned int proc_img (int x, int y);
  33. extern void erase_region (int x, int y, int index);
  34. extern void mark_centroid (double x, double y, int index, int flood_reg_index, Image * aoi);
  35. extern int find_left_x (int x, int y, int stop_index, Image * aoi);
  36. extern int ln_fill (int x, int y, int index, double *xc, double *yc, int stop_index, Image * aoi);
  37. extern unsigned int rfill (int x, int y, int index, double *xc, double *yc, int img_type, Image * aoi);
  38. /* ah_AOI.c */
  39. extern int ah_AOI (int x1, int y1, int x2, int y2, Image * aoi, Image * imgOut, struct bubble *cbub, int nmax);
  40. extern void encode_ba (double mean_a, double rmsq_a, struct bubble *b, int nd, Image * ip, int value);
  41. /* aoi_io.c */
  42. extern void write_bub_data (FILE * file,
  43.                             float foo, int np, struct bubble *cbub, int nd);
  44. extern void write_aoi_data (FILE * file,
  45.                             float foo, int np, struct Histo *h, int X_SQ);
  46. /* aoi_hist.c */
  47. extern double eval_mean (int nd, unsigned int *oarea);
  48. extern double eval_sdev (double mean_a, int nd, unsigned int *oarea);
  49. extern double eval_skew (double mean_a, double sdev_a, int nd,
  50.                          unsigned int *oarea);
  51. extern double find_hist_mean (int nb, float *hist, double bw);
  52. extern struct Histo *eval_hist (int BIN_METHOD, float *data, int nd, int SRT);
  53. extern void construct_hist (int n, float *data,
  54.                             float *hist, double bw, double base);
  55. extern void construct_shist (int n, float *data,
  56.                              float *hist, double bw, double base);
  57. extern void area_hist (int n, unsigned int *a, unsigned int a_base,
  58.                        unsigned int *ah, int bw);
  59. /* vor_io.c */
  60. extern void write_vin_file (FILE * file, int n, int xmin, int ymin, int xmax, int ymax, struct bubble *C);
  61.